AWK একটি শক্তিশালী টুল যা ডেটা ফাইল থেকে কাস্টম রিপোর্ট তৈরি করতে ব্যবহৃত হয়। এর সহজ সিনট্যাক্স এবং শক্তিশালী ডেটা প্রসেসিং ক্ষমতার জন্য AWK জনপ্রিয়। কাস্টম রিপোর্ট তৈরি করার জন্য, আপনি ডেটা ফিল্টারিং, ফরম্যাটিং, এবং বিশেষভাবে আউটপুটের কাঠামো তৈরি করতে পারেন।
প্রথমে, ডেটা ফাইল প্রস্তুত করতে হবে। ধরুন, আমাদের কাছে একটি sales.txt
ফাইল রয়েছে, যার মধ্যে কিছু বিক্রির তথ্য রয়েছে:
Product,Category,Price,Quantity
Apple,Fruit,0.50,10
Banana,Fruit,0.30,5
Carrot,Vegetable,0.20,20
Tomato,Vegetable,0.25,15
AWK ব্যবহার করে এই ডেটার উপর ভিত্তি করে একটি কাস্টম রিপোর্ট তৈরি করা যেতে পারে। নিচে কিছু উদাহরণ দেওয়া হলো।
awk -F, 'NR > 1 { total += $3 * $4; print "Product: " $1 ", Total Sales: $" $3 * $4 } END { print "Overall Total Sales: $" total }' sales.txt
ব্যাখ্যা:
-F,
: কমা (,
) কে ফিল্ড সেপারেটর হিসেবে সেট করা হয়েছে।NR > 1
: প্রথম লাইনের হেডার বাদ দেওয়া হয়েছে।total += $3 * $4
: প্রতিটি পণ্যের মোট বিক্রি হিসাব করা হয়েছে।print
: পণ্য এবং তার মোট বিক্রির তথ্য প্রিন্ট করা হয়েছে।END
: প্রোগ্রামের শেষে মোট বিক্রির তথ্য প্রিন্ট করা হয়েছে।awk -F, 'NR > 1 { category[$2] += $3 * $4 }
END {
print "Category-wise Total Sales:"
for (cat in category) {
print "Category: " cat ", Total Sales: $" category[cat]
}
}' sales.txt
ব্যাখ্যা:
category[$2] += $3 * $4
: ক্যাটাগরি ভিত্তিক মোট বিক্রি হিসাব করা হয়েছে।for (cat in category)
: প্রতিটি ক্যাটাগরির জন্য মোট বিক্রি প্রিন্ট করা হয়েছে।awk -F, 'NR > 1 { printf "%-10s %-10s %-6s %-8s %-10s\n", $1, $2, $3, $4, $3*$4 }' sales.txt
ব্যাখ্যা:
printf
: আউটপুটকে একটি নির্দিষ্ট ফরম্যাটে প্রিন্ট করতে ব্যবহৃত হয়।%-10s
: 10 চরিত্রের জন্য বাম থেকে অ্যালাইন করা হবে। এর মাধ্যমে সুন্দরভাবে রিপোর্ট তৈরি হয়।কাস্টম রিপোর্ট তৈরি করার পর, আপনি ফলাফলকে একটি ফাইলে সংরক্ষণ করতে পারেন:
awk -F, 'NR > 1 { total += $3 * $4; print "Product: " $1 ", Total Sales: $" $3 * $4 } END { print "Overall Total Sales: $" total }' sales.txt > report.txt
এটি report.txt
ফাইলে আউটপুট সংরক্ষণ করবে।
আপনি AWK এর মধ্যে শর্ত, লুপ, এবং ফাংশন ব্যবহার করে জটিল রিপোর্ট তৈরি করতে পারেন।
awk -F, '
function totalSales(price, quantity) {
return price * quantity
}
NR > 1 {
sales[$2] += totalSales($3, $4)
}
END {
print "Sales Summary:"
for (cat in sales) {
print "Category:", cat, "Total Sales: $", sales[cat]
}
}' sales.txt
ব্যাখ্যা:
function totalSales
: একটি ফাংশন তৈরি করে যা মূল্য এবং পরিমাণের উপর ভিত্তি করে মোট বিক্রির হিসাব করে।AWK ব্যবহার করে কাস্টম রিপোর্ট তৈরি করা একটি সহজ এবং কার্যকরী প্রক্রিয়া। ডেটা ইনপুট, ফিল্টারিং, এবং আউটপুট ফরম্যাটিং এর মাধ্যমে AWK ব্যবহারকারীরা সহজে তাদের প্রয়োজনীয় রিপোর্ট তৈরি করতে পারেন। AWK এর এই ক্ষমতা ডেটা বিশ্লেষণের সময় খুবই কার্যকর।
common.read_more